package dao.jdbc;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
//import java.sql.Statement;

import dto.User;
import dao.UserDAOI;
import dao.jdbc.util.DBConnectionFactory;

public class UserDAO implements UserDAOI {
	
	public boolean findUser(String uname, String password) {
		Connection con = null;
		String sql = "SELECT COUNT(uname) FROM UserDetails WHERE uname = ? and pass = ?";
		
		// Cờ kiểm tra tài khoản có tồn tại không
		boolean flag = false;
		try {
			con = DBConnectionFactory.getConnection();
			PreparedStatement st = con.prepareStatement(sql);
			st.setString(1, uname);
			st.setString(2, password);
			ResultSet rs = st.executeQuery();
			while(rs.next())
			{
				// Nếu tài khoản tồn tại thì bật cờ lên flag = true
				// Chổ này code cũ thấy không đúng nên sửa lại
				if(rs.getInt(1)==1)
					flag = true;
			}
		}catch(SQLException e){
			e.printStackTrace();
		}/*finally{
			try {
				con.close();
			}catch(SQLException e){}
		}*/
		System.out.println(flag);
		return flag;
	}
	
	@Override
	public User getUserDetails(String uname)
	{
		Connection con = null;
		String sql = "SELECT fname, lname, email, mobile, usertype FROM UserDetails WHERE uname = ? ";
		try {
			con = DBConnectionFactory.getConnection();
			//Statement st = con.createStatement();
			//ResultSet rs = st.executeQuery(sql);
			PreparedStatement st = con.prepareStatement(sql);
			st.setString(1, uname);
			ResultSet rs = st.executeQuery();
			if(rs.next())
			{
				User u = new User();
				u.setUname(uname);
				u.setFname(rs.getString(1));
				u.setLname(rs.getString(2));
				u.setEmail(rs.getString(3));
				u.setMobile(rs.getString(4));
				u.setUsertype(rs.getString(5));
				
				return u;
			}
		}catch(SQLException e) {
			e.printStackTrace();
		}finally {
			try {
				con.close();
			}catch(SQLException e) {}
		}
		return null;
	}
	/*
	 * Hàm tạm dùng kiểm tra connection
	 * Đã kiểm tra connection ok
	 * 
	public static void main(String arg[])
	{
		UserDAO t = new UserDAO();
		t.findUser("admin", "123456");
	}*/
}
